Mongodb更新数组$push操作符

您所在的位置:网站首页 mongodb updateone Mongodb更新数组$push操作符

Mongodb更新数组$push操作符

#Mongodb更新数组$push操作符| 来源: 网络整理| 查看: 265

一、$push操作符添加指定的值到数组中,$push操作符有如下的格式:

{ $push: { : , ... } } 指定一个 在一个内嵌文档中或者在一个数组中,使用点号分开

$push修饰符可以和$each、$slice、$sort、$position修饰符一起使用,当使用这些修饰符的时候$push操作符有如下格式:

{ $push: { : { : , ... }, ... } } 二、例如:添加一个值到数组中

如下语句添加89到scores字段中

db.students.update( { _id: 1 }, { $push: { scores: 89 } } ) 添加多个值到数组中

使用$push操作符和$each修饰符一起添加多个值到数组字段中。

如下例子添加数组[ 90, 92, 85 ]中的每个元素到数组scores字段中,对于字段name等于joe的文档:

db.students.update( { name: "joe" }, { $push: { scores: { $each: [ 90, 92, 85 ] } } } ) $push操作符和多个操作符一起使用

集合students有如下文档:

{ "_id" : 5, "quizzes" : [ { "wk": 1, "score" : 10 }, { "wk": 2, "score" : 8 }, { "wk": 3, "score" : 5 }, { "wk": 4, "score" : 6 } ] }

如下$push操作符使用:

$each修饰符添加多个值到quizzes数组中;

$sort修饰符将数组quizzes中的元素按照score元素降序排列;

$slice修饰符只留下数组quizzes中前三个排序元素;

db.students.update( { _id: 5 }, { $push: { quizzes: { $each: [ { wk: 5, score: 8 }, { wk: 6, score: 7 }, { wk: 7, score: 6 } ], $sort: { score: -1 }, $slice: 3 } } } )

操作的结果是只留下quizzes数组中分数最高的三个:

{ "_id" : 5, "quizzes" : [ { "wk" : 1, "score" : 10 }, { "wk" : 2, "score" : 8 }, { "wk" : 5, "score" : 8 } ] }



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3